This invention relates to electronic networks, and more particularly to an improved technique for implementing communications between two nodes in an electronic network.
There are many well known protocols for implementing electronic communication in a network. Two such protocols are the Address Resolution Protocol (ARP) and the Reverse Address Resolution Protocol (RARP). The ARP and RARP protocols may be used, for example, to implement communications in a network that includes two or more network nodes connected via an electronic bus. An exemplary network is shown in FIG. 1.
As can be seen from FIG. 1, transmissions directed from a first general purpose computer 2 to a second general purpose computer 4 are indicated by an arrow 6. Similarly, communications directed from the second computer to the first computer are indicated by an arrow 8. It should be understood that an electronic bus, such as an IEEE-1394 serial bus, interconnects computers 2 and 4, and is used to channel transmissions between the computers. The transmissions are abstractly represented by arrows 6 and 8. Furthermore, it should be understood that although FIG. 1 shows only two computers, the network represented in FIG. 1 may be made up of more than two computers. FIG. 1 is referenced below for purposes of describing ARP and RARP communication in more detail.
ARP may be used when a first network computer wishes to communicate with a second network computer but does not know the second computer""s physical address. For example, computer 2 may wish to communicate with computer 4 but has only computer 4""s internet protocol address (or xe2x80x9cIP addressxe2x80x9d) and not computer 4""s physical address. In accordance with ARP, computer 2 broadcasts an xe2x80x9cARP requestxe2x80x9d (represented by arrow 6) over the network bus. The request includes the IP address of computer 4. By examining the IP address of the request, computer 4 recognizes that it is the intended recipient of the request. Computer 4 then transmits an xe2x80x9cARP responsexe2x80x9d (represented by arrow 8), which is addressed to computer 2 and contains computer 4""s physical address.
RARP may be used when a network computer wishes to determine its IP address through the network. For example, computer 2, wishing to determine its IP address, broadcasts a xe2x80x9cRARP requestxe2x80x9d (represented by arrow 6) over the network. The RARP request includes the IP address of computer 4, as well as the physical address of computer 2. After computer 4 ascertains that it is the intended recipient of the RARP requestxe2x80x94through examination of the IP addressxe2x80x94it determines the IP address of computer 2 by cross-referencing computer 2""s physical address to computer 2""s IP address and then transmits a xe2x80x9cRARP responsexe2x80x9d (represented by arrow 8), which includes the IP address of computer 2.
Both ARP and RARP have drawbacks which limit their effectiveness. In ARP, a requesting node is limited to acquiring the physical address of a target node, and cannot acquire information that would facilitate communication between itself and the target node. In particular, the requesting node cannot acquire the address within the target computer of the application which is the subject of the request. Thus, in FIG. 1 for example, once computer 2 determines the physical address of computer 4, communication between the two computers may proceed, but each time computer 4 receives a communication packet from computer 2, computer 4""s processing unit (CPU) must examine the received packet and then forward the packet to an appropriate application within its memory. Moreover, the size of the communication packets is limited in ARP, further limiting flexibility.
A drawback of RARP is its sensitivity to bus resets. When a network bus is resetxe2x80x94such as when the power supply is toggled, or a new device is connected to the networkxe2x80x94the physical addresses of the network nodes may change, resulting in the generation of incorrect cross-references by nodes generating RARP responses. Thereby, resulting in the transmission of incorrect IP addresses to requesting nodes.
It is an object of the present invention to provide a network communication system wherein ARP type communication is facilitated by providing nodes that generate ARP requests with additional information about responding nodes and by allowing for variable length ARP communication packets.
It is a further object of the present invention to provide a network communication system wherein RARP type communication is facilitated by reducing the network""s sensitivity to bus resets.
In accordance with the invention, when an ARP type communication session is initiated through request and response packets, the response packet includes an offset address specifying the location of the software application that is the subject of the session. Thereby, allowing session packets subsequent to the response packet to be addressed directly to the application, and allowing those subsequent packets to be of variable size. Furthermore, each network node is assigned a node unique ID for the purpose of providing an unchanging identifier for each node. Thereby, providing an unchanging physical address reference for use in RARP type requests, and allowing RARP type communication to be conducted without interference from network resets.